package com.d3works.apps.account.service;

import com.d3works.apps.account.db.DebtRecoveryHistory;
import com.d3works.apps.message.db.Message;
import com.d3works.apps.message.db.Template;
import com.d3works.exception.D3worksException;
import java.io.IOException;

public interface TemplateMessageAccountService {
  /**
   * Generate message and set second related entity to DebtRecoveryHistory Partner and add message
   * to DebtRecoveryHistory message list.
   *
   * @param debtRecoveryHistory
   * @param template
   * @return
   * @throws ClassNotFoundException
   * @throws IOException
   * @throws InstantiationException
   * @throws D3worksException
   * @throws IllegalAccessException
   */
  Message generateMessage(DebtRecoveryHistory debtRecoveryHistory, Template template)
      throws ClassNotFoundException, IOException, InstantiationException, D3worksException,
          IllegalAccessException;
}
